Currently, motors are used as power sources of various apparatuses. Especially, many OA devices and home electric appliances use DC motors because they have simple structures, require no maintenance, generate little rotation variation and vibration, and are capable of high-speed operation and accurate control.
In recent years, printers, and especially general commercial printers that are often for home use, are required to have not only higher image quality but also lower operation noise. Noise generated in operation includes that generated in printing and that generated in driving mechanical portions. In inkjet printing apparatuses which have only a few noise sources in printing, noise generated in driving mechanical portions is reduced.
An inkjet printing apparatus has, as its main mechanical portions, a printhead scanning mechanism and a printing medium convey mechanism. Noise is reduced by using a DC motor and linear encoder as a driving means for the printhead scanning mechanism. Today, a DC motor and rotary encoder are also being employed as a driving means for the printing medium convey mechanism in many cases.
From the viewpoint of noise reduction, an effect can be expected when a DC motor is employed. From the viewpoint of accurate printing medium conveyance, more advanced position control is required in addition to a mechanical accuracy.
To control the position of a DC motor, the motor is basically powered off when the rotation (angle) of a roller has reached a target position, thereby stopping the motor by inertia.
To ensure stop position accuracy in a mechanism using a DC motor, deceleration before stop and removal of disturbance torque before stop (i.e., stable low-speed operation immediately before stop) are indispensable. When the motor is powered off at a constant and sufficiently low speed, the settling time until stop and stop position accuracy can be stabilized.
In such an arrangement using a DC motor, the torque variation must be reduced as much as possible for accurate control.
A torque variation with a long period can be controlled because disturbance torque can be removed by feedback control represented by generally known PID control. However, it is difficult to control a torque variation with a short period represented by cogging. This is because the torque variation is caused by the object to be controlled, i.e., the motor itself, and in high-speed driving, the frequency exceeds the frequency solvable by feedback control.
A torque variation due to cogging of a DC motor will be described below with reference to FIGS. 1 to 3.
FIG. 1 is a graph simply showing a speed variation when a DC motor is driven at a constant speed. The abscissa indicates time, and the ordinate indicates the speed. Reference numeral 1001 denotes a speed profile obtained when the motor is driven at a speed (V_x) that is assumed to be a reference speed here; 1002, a speed profile obtained when the motor is driven at a speed twice the reference speed (2*V_x), and 1003, a speed profile obtained when the motor is driven at a speed eight times the reference speed (8*V_x).
A torque variation is generated by cogging as an essential characteristic due to the operation principle of the DC motor, and a periodical speed variation is generated. The periodical speed variation is caused by the characteristic of the motor itself. For this reason, this speed variation is always generated every moving distance corresponding to a predetermined rotational angle. Hence, the higher the speed becomes, the higher the frequency at which the variation occurs becomes.
A point 1004 indicated by ● in FIG. 1 corresponds to a phase angle at which the motor itself rotates at a high speed due to the influence of the torque variation caused by cogging. A point 1005 indicated by ▪ in FIG. 1 corresponds to a phase angle at which the motor itself rotates at a low speed due to the influence of the torque variation caused by cogging.
When the motor is driven at the speed 2*V_x twice the reference speed V_x, the speed variation is generated at a twofold frequency. When the motor is driven at the eight-fold speed 8*V_x, the speed variation is generated at an eight-fold frequency.
The influence of a torque variation due to cogging in actual driving will be described next.
FIG. 2 is a timing chart for explaining the influence of a torque variation due to cogging by exemplifying ideal position profile tracking control and ideal speed profile tracking control used for a DC motor.
Referring to FIG. 2, the abscissa indicates time, an ordinate 2001 indicates the speed, and an ordinate 2002 indicates the position.
Reference numeral 2003 denotes an ideal position profile; and 2004, an ideal speed profile. The ideal speed profile 2004 is formed from four control regions: an acceleration control region 2011, constant speed control region 2012, deceleration control region 2013, and positioning control region 2014.
In the ideal speed profile 2004, V_START indicates an initial speed, V_FLAT indicates a speed in the constant speed control region 2012, V_APPROACH indicates a speed in the positioning control region, V_PROMISE indicates a maximum speed immediately before stop, which must be always kept to achieve the positioning accuracy, and v_stop indicates a speed immediately before stop as an actual value that changes to any value due to disturbance when actual driving is assumed.
In consideration of a speed variation in actual driving, the speed V_APPROACH must be set to a sufficiently small value such that the speed v_stop does not exceed the value V_PROMISE for any variation in speed.
In this example, position servo is employed in the regions 2011, 2012, and 2013, and speed servo is employed in the region 2014, as will be described later. The curve 2003 shown in FIG. 2 represents an ideal position profile in position servo, or in speed servo, a supposed arrival position profile in operation according to the ideal speed profile. The curve 2004 shown in FIG. 2 represents an ideal speed profile in speed servo, or in position servo, a required speed profile obtained for follow-up operation to the ideal position profile.
Reference numeral 2005 indicates an actual driving speed profile of the physical motor when variations at a high frequency due to cogging are averaged to facilitate comparison with the ideal speed profile 2004. When feedback control is executed using the ideal position profile 2003 as an input, the speed becomes closer to the ideal speed as the positioning control region 2014 comes close to the end, although a slight delay is generated with respect to the ideal speed profile 2004. The final speed immediately before stop converges to the speed V_APPROACH at which the positioning accuracy can be achieved. Note that the shift from the deceleration control region 2013 to the positioning control region 2014 is done at the moment when the position has reached S_APPROACH independently of the physical driving speed state.
The profile 2005 can be actually achieved when a motor that generates no torque variation due to cogging, e.g., an ultrasonic motor, is driven. In this case, however, it is assumed that a DC motor that generates a torque variation due to cogging is driven. Hence, the actual shape of the actual speed profile is indicated by 2006 or 2007 because the influence of the torque variation due to cogging is added to the profile 2005.
The profile 2006 indicates that the phase of the DC motor at the moving start time is opposite to that in the profile 2007. Actually, in addition to these two patterns, various patterns in which the positions of the point 1004 at which the speed increases due to the torque variation and point 1005 at which the speed decreases temporally change depending on the phase of the DC motor at the moving start time can be generated.
S_APPROACH in FIG. 2 indicates a position at which the deceleration control region 2013 changes to the positioning control region 2014. S_STOP indicates a stop position. T_ADD indicates a time required for the acceleration control region 2011. T_DEC indicates a time required for the deceleration control region 2013. T_FLAT indicates a time required for the constant speed control region 2012. The time T_FLAT has a fixed value determined when the stop position S_STOP when the moving start position is defined as 0 is set, i.e., when the ideal position profile 2003 with respect to the total moving distance is set.
T_APPROACH is a time required for the positioning control region 2014. T_APPROACH is a time required for the object to be controlled to move by a distance S_APR_STOP from the position S_APPROACH at which the positioning control region 2014 starts to the stop position S_STOP in actual movement. The profile 2005 shown in FIG. 2 models a case wherein the object to be drive-controlled has moved through the positioning region at the ideal speed. In actual control, however, the ideal physical operation is generally very difficult.
For high-speed accurate positioning, the curve of the ideal position profile 2003 must be tuned in accordance with the system. More specifically, the ideal position profile 2003 is preferably set such that the speed in the constant speed control region 2012 becomes as high as possible to shorten the positioning required time so far as the system performance permits, the speed in the positioning control region 2014 becomes as low as possible to improve the positioning accuracy so far as the system performance permits, and the lengths of the acceleration control region 2011, deceleration control region 2013, and positioning control region 2014 become as short as possible to shorten the positioning required time so far as the system performance permits.
However, a more detailed tuning method is irrelevant to the present invention. Here, a description will be made assuming that the ideal position profile 2003 has already been optimized.
As described above, the profiles 2006 and 2007 are speed profiles of the physical motor when similar control is executed using a DC motor having a torque variation due to cogging described with reference to FIG. 1. From a broader viewpoint, they form the same curve as the actual speed profile 2005 of an ideal motor. However, because of a speed variation by the influence of a torque variation due to cogging, the speed at the moment when the positioning control region 2014 starts is higher than the target speed V_APPROACH in the profile 2006 and lower in the profile 2007.
Due to this influence, the speed at the moment when the position has reached the stop position S_STOP exceeds the speed V_PROMISE in the profile 2006. Since this speed cannot satisfy stop conditions required of the apparatus, the stop position accuracy is not guaranteed, and overrun from the stop position may occur.
On the other hand, in the profile 2007, the average speed in the positioning control region 2014 is low. Hence, the actual time until the stop position S_STOP becomes longer than T_APPROACH, and the required time is prolonged.
The problem of the stop position in the profile 2006 can easily be solved by making the speed in shifting to the positioning control region less than the default value V_APPROACH. In this case, however, if the profile has changed to the profile 2007 due to the phase of the motor at the moving start time, the problem that the required time is prolonged becomes more serious.
Conversely, the problem of the required time in the profile 2007 can easily be solved by making the speed in shifting to the positioning control region more than the default value V_APPROACH. In this case, however, if the profile has changed to the profile 2006 due to the phase of the motor at the moving start time, the problem that the stop position accuracy is not guaranteed becomes more serious.
The cogging of a DC motor has a period. However, this period is difficult to accurately detect. Although the torque variation is approximately indicated by a sine curve in FIG. 2, an actual torque variation varies depending on each individual motor and exhibits various characteristics that cannot be expressed by any sine curve. For this reason, even motors of the same type and model exhibit no identical torque variation characteristics. No curve (profile) that can be completely universally applied to all motors for all purposes is present.
Control may be executed while linking logical position information read from an encoder to a phase angle when the period of torque ripple due to cogging is regarded as 360°. In this case, however, the logical position information is initialized every time the apparatus is powered off. For this reason, it is difficult to execute control while predicting in advance whether the speed at the stop position in moving after power-on of the apparatus exceeds the final target speed, as indicated by 2006, or becomes lower than the final target speed, as indicated by 2007.
As described above, it is very difficult in fact to set the target speed (V_APPROACH) in the positioning control region in accordance with the cogging characteristic of a DC motor to be used, and to achieve high-speed accurate position control.